package com.wm.dao;

import java.util.List;

import com.wm.bean.Area;
import com.wm.bean.City;

public interface AreaDAO {
	/**
	 * 保存Area对象
	 * 
	 * @param area
	 * 			Area
	 * @return Area
	 * 			Area
	 */
	public Area saveArea(Area area);
	
	/**
	 * 更新Area对象
	 * 
	 * @param area
	 * 			Area
	 * @return Area
	 * 			Area
	 */
	public Area updateArea(Area area);
	
	/**
	 * 根据ID删除Area对象
	 * 
	 * @param id
	 * 			long
	 */
	public void removeAreaById(long id);
	
	/**
	 * 根据ID获取Area对象
	 * 
	 * @param id
	 * 			long
	 * @return Area
	 * 			Area
	 */
	public Area findAreaByid(long id);
	
	/**
	 * 根据参数获取Area对象列表
	 * 
	 * @param areaPinyin
	 * 			String
	 * @param isShow
	 * 			int
	 * @param orderby
	 * @param ascOrDesc
	 * @return List
	 * 			List
	 */
	public List findAreasByAreaPinyinYinIsShow(String areaPinyin,int isShow, String orderby, int ascOrDesc);
	
	/**
	 * 根据参数获取Area对象列表
	 * 
	 * @param cityId
	 * 			long
	 * @param isShow
	 * 			int
	 * @param orderby
	 * @param ascOrDesc
	 * @return List
	 * 			List
	 */
	public List findAreasByCityIdIsShow(long cityId,int isShow, String orderby, int ascOrDesc);
	
	/**
	 * 根据参数获取Area对象列表
	 * 
	 * @param isShow
	 * 			int
	 * @param orderby
	 * @param ascOrDesc
	 * @param firstResult
	 * @param maxResults
	 * @return List
	 * 			List
	 */
	public List findAreasByCityIdIsShow(long cityId,int isShow,String orderby,int ascOrDesc,int firstResult,int maxResults);
	
	/**
	 * 根据参数获取Area对象个数
	 * 
	 * @param isShow
	 * 			int
	 * @return long
	 * 			long
	 */
	public long getAreaNumByCityIdIsShow(long cityId,int isShow);
	
	/**
	 * 根据参数获取Area对象列表
	 * 
	 * @param isShow
	 * 			int
	 * @param orderby
	 * @param ascOrDesc
	 * @return List
	 * 			List
	 */
	public List findAreasByIsShow(int isShow,String orderby,int ascOrDesc);
	
	/**
	 * 根据参数获取Area对象列表
	 * 
	 * @param isShow
	 * 			int
	 * @param orderby
	 * @param ascOrDesc
	 * @param firstResult
	 * @param maxResults
	 * @return List
	 * 			List
	 */
	public List findAreasByIsShow(int isShow,String orderby,int ascOrDesc,int firstResult,int maxResults);
	
	/**
	 * 根据参数获取Area对象个数
	 * 
	 * @param isShow
	 * 			int
	 * @return long
	 * 			long
	 */
	public long getAreaNumByIsShow(int isShow);
}
